Multimedia API Reference

September 12, 2016 | 24.2 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nvbuf_utils.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
3  *
4  * NVIDIA Corporation and its licensors retain all intellectual property
5  * and proprietary rights in and to this software, related documentation
6  * and any modifications thereto. Any use, reproduction, disclosure or
7  * distribution of this software and related documentation without an express
8  * license agreement from NVIDIA Corporation is strictly prohibited.
9  */
10 
24 #ifndef _NVBUF_UTILS_H_
25 #define _NVBUF_UTILS_H_
26 
27 #ifdef __cplusplus
28 extern "C"
29 {
30 #endif
31 
32 #include <EGL/egl.h>
33 #include <EGL/eglext.h>
34 #include <errno.h>
35 
36 #define MAX_NUM_PLANES 3
37 
38 typedef enum
39 {
43 
44 typedef enum
45 {
53 
54 typedef struct _NvBufferParams
55 {
56  uint32_t dmabuf_fd;
57  void *nv_buffer;
58  uint32_t nv_buffer_size;
59  uint32_t pixel_format;
60  uint32_t num_planes;
61  uint32_t width[MAX_NUM_PLANES];
63  uint32_t pitch[MAX_NUM_PLANES];
66 
75 EGLImageKHR NvEGLImageFromFd (EGLDisplay display, int dmabuf_fd);
76 
85 int NvDestroyEGLImage (EGLDisplay display, EGLImageKHR eglImage);
86 
97 int NvBufferCreate (int *dmabuf_fd, int width, int height,
98  NvBufferLayout layout, NvBufferColorFormat colorFormat);
99 
107 int NvBufferGetParams (int dmabuf_fd, NvBufferParams *params);
108 
115 int NvBufferDestroy (int dmabuf_fd);
116 
117 #ifdef __cplusplus
118 }
119 #endif
120 
121 #endif
uint32_t num_planes
Definition: nvbuf_utils.h:60
uint32_t nv_buffer_size
Definition: nvbuf_utils.h:58
uint32_t pixel_format
Definition: nvbuf_utils.h:59
#define MAX_NUM_PLANES
Definition: nvbuf_utils.h:36
uint32_t height[MAX_NUM_PLANES]
Definition: nvbuf_utils.h:62
struct _NvBufferParams NvBufferParams
uint32_t width[MAX_NUM_PLANES]
Definition: nvbuf_utils.h:61
uint32_t pitch[MAX_NUM_PLANES]
Definition: nvbuf_utils.h:63
int NvBufferCreate(int *dmabuf_fd, int width, int height, NvBufferLayout layout, NvBufferColorFormat colorFormat)
Use this method to allocate HW buffer.
EGLImageKHR NvEGLImageFromFd(EGLDisplay display, int dmabuf_fd)
This method must be used for getting EGLImage from dmabuf-fd.
uint32_t dmabuf_fd
Definition: nvbuf_utils.h:56
uint32_t offset[MAX_NUM_PLANES]
Definition: nvbuf_utils.h:64
void * nv_buffer
Definition: nvbuf_utils.h:57
int NvBufferGetParams(int dmabuf_fd, NvBufferParams *params)
Use this method to get buffer parameters.
NvBufferLayout
Definition: nvbuf_utils.h:38
int NvBufferDestroy(int dmabuf_fd)
This method must be used for destroying hw_buffer.
NvBufferColorFormat
Definition: nvbuf_utils.h:44
int NvDestroyEGLImage(EGLDisplay display, EGLImageKHR eglImage)
This method must be used for destroying EGLImage object.